package com.hh.flow.service;

import com.hh.flow.domain.FlowInstance;
import com.hh.mybatis.service.IBaseService;

import java.util.List;

/**
 * 流程实例Service接口
 *
 * @author hh
 * @date 2023-03-29
 */
public interface IFlowInstanceService extends IBaseService<FlowInstance> {

    /**
     * 根据id集合进行查询 行锁
     *
     * @param definitionIds
     * @return
     */
    List<FlowInstance> queryByidWithUpdateLock(List<Long> definitionIds);

    /**
     * 获取流程实例
     * @param flowInstance
     * @return
     */
    List<FlowInstance> getList(FlowInstance flowInstance);

    /**
     * 办理流程
     * @param id
     * @param conditionValue
     * @param message
     * @return
     */
    Object handle(Long id, String conditionValue, String message);
}
